//package com.guigu.controller;
//
//import cn.hutool.core.bean.BeanUtil;
//import cn.hutool.json.JSONUtil;
//import com.google.common.base.Preconditions;
//import com.guigu.domain.dto.SubjectLabelDTO;
//import com.guigu.domain.entity.SubjectLabel;
//import com.guigu.result.Result;
//import com.guigu.service.ISubjectLabelService;
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiOperation;
//import lombok.extern.slf4j.Slf4j;
//import org.apache.commons.lang3.StringUtils;
//import org.springframework.web.bind.annotation.PostMapping;
//import org.springframework.web.bind.annotation.RequestBody;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RestController;
//
//import javax.annotation.Resource;
//
//
///**
// * 标签controller
// *
// * @author: ChickenWing
// * @date: 2023/10/3
// */
//@Api(tags = "标签controller")
//@RestController
//@RequestMapping("/subjectLabel")
//@Slf4j
//public class SubjectLabelController {
//
//
//    @Resource
//    private ISubjectLabelService ISubjectLabelService;
//
//    /**
//     * 新增标签
//     */
//    @ApiOperation(value = "新增标签")
//    @PostMapping("/add")
//    public Result<Boolean> addLabel(@RequestBody SubjectLabelDTO subjectLabelDTO) {
//        try {
//            if (log.isInfoEnabled()) {
//                log.info("SubjectLabelController.add.dto:{}", JSONUtil.toJsonStr(subjectLabelDTO));
//            }
//            Preconditions.checkArgument(!StringUtils.isBlank(subjectLabelDTO.getLabelName()), "标签名称不能为空");
//            SubjectLabel subjectLabel = BeanUtil.toBean(subjectLabelDTO, SubjectLabel.class);
//            this.ISubjectLabelService.save(subjectLabel);
//            return Result.ok("新增标签成功");
//        } catch (Exception e) {
//            log.error("SubjectLabelController.add.error:{}", e.getMessage(), e);
//            return Result.fail("新增标签失败");
//        }
//    }
//
//    /**
//     * 修改标签
//     */
//    @ApiOperation(value = "更新标签")
//    @PostMapping("/update")
//    public Result<Boolean> updateLabel(@RequestBody SubjectLabelDTO subjectLabelDTO) {
//        try {
//            if (log.isInfoEnabled()) {
//                log.info("SubjectLabelController.add.update:{}", JSONUtil.toJsonStr(subjectLabelDTO));
//            }
//            Preconditions.checkNotNull(subjectLabelDTO.getId(), "标签id不能为空");
//            SubjectLabel subjectLabel = BeanUtil.toBean(subjectLabelDTO, SubjectLabel.class);
//            this.ISubjectLabelService.updateById(subjectLabel);
//            return Result.ok("更新标签成功");
//        } catch (Exception e) {
//            log.error("SubjectLabelController.add.error:{}", e.getMessage(), e);
//            return Result.fail("新增标签失败");
//        }
//    }
//
//    /**
//     * 删除标签
//     */
//    @ApiOperation("删除标签")
//    @PostMapping("/delete")
//    public Result<Boolean> deleteLabel(@RequestBody SubjectLabelDTO subjectLabelDTO) {
//        try {
//            if (log.isInfoEnabled()) {
//                log.info("SubjectLabelController.delete.dto:{}", JSONUtil.toJsonStr(subjectLabelDTO));
//            }
//            Preconditions.checkNotNull(subjectLabelDTO.getId(), "标签id不能为空");
//            SubjectLabel subjectLabel = BeanUtil.toBean(subjectLabelDTO, SubjectLabel.class);
//            this.ISubjectLabelService.deleteLabel(subjectLabel);
//            return Result.ok("删除标签成功");
//        } catch (Exception e) {
//            log.error("SubjectLabelController.delete.error:{}", e.getMessage(), e);
//            return Result.fail("删除标签失败");
//        }
//    }
//
//
//
//
//}
